The present invention relates to digital filtering techniques, and more particularly, to filtering techniques that avoid the use of multipliers.
In state of the art applications requiring decimation of a high-rate digital signal, such as a 1-bit signal generated by a sigma-delta modulator, cascade-integrate-comb filters (CIC-filters) are used for a first decimation stage. These are then followed by a conventional finite impulse response (FIR) decimation filter stage. Decimation by N means that the filter output sample will be generated only once for every N data samples. Each filter output is a multi-bit value that is representative of the corresponding N data samples.
FIG. 1 is a block diagram of an exemplary prior art implementation of a three-stage CIC-filter that decimates the input signal by a factor of N. As can be seen from the figure, the CIC-filter consists of a number of accumulators 11 as a first stage, which is operated at the rate of a fast sampling clock 15. The following decimation stage 13 then generates samples at the rate of a lower decimated clock 17 by supplying only every Nth sample at its output and leaving out the others. Finally, a third stage contains differentiators 19 operated at the decimated clock rate.
As all filter coefficients are set to 1, CIC-filters do not need multipliers. As a result, they can run at speeds limited by the speed of the adders (in the first stage). Thus, when very high data rates are involved, CIC-filters are used for the first decimation steps in order to lower the data rate sufficiently to enable FIR filters to be used. However, the sin(x)/x frequency domain characteristic of the CIC-filters must be compensated for by the subsequent FIR filters, which complicates the design of these FIR filters. For very fast applications, the adders in the CIC-filter are the speed limiting factor.
Also, the structure illustrated in FIG. 1 is rather inflexible so that filter banks may be required if fast variability of the filter characteristic (and thus varying number of stages) is required. That further complicates the filter structure.